// pages/my/my.js
const app = getApp(); // 获取全局应用实例
const baseURL = app.globalData.baseURL

Page({
  data: {
    exist: false,   // 是否已登录
    avatar: null, // 头像
    nickname: null,  // 昵称
    whole:[
			{
				index:0,
				name:'查看全部订单',
				icon:'/static/detail/xiangyou-jiantou.svg',
				query:'all'
			}
		],
		list:[
			{
				index:1,
				name:'待付款',
				icon:'/static/detail/daifukuan.svg',
				query:'unpaid'
			},
			{
				index:2,
				name:'待发货',
				icon:'/static/detail/daifahuo.svg',
				query:'paid'
			},
			{
				index:3,
				name:'待收货',
				icon:'/static/detail/daishouhuo.svg',
				query:'shipped'
			},
			{
				index:4,
				name:'待评价',
				icon:'/static/detail/daipingjia.svg',
				query:'evaluate'
      },
      {
				index:5,
				name:'售后',
				icon:'/static/detail/售后.png',
				query:'afterSales'  // 所有售后
			},
		],
  },
  
  // 生命周期函数--监听页面显示
  onShow() {
    this.setData({
      avatar: wx.getStorageSync('avatar'), // 头像
      nickname: wx.getStorageSync('nickname'),  // 昵称
    })
    // 检测是否已经登录
    this.staTus()
  },

  // 生命周期函数--监听页面加载
  onLoad(options) {

  },
  
  // 检测是否有现成的头像和昵称
  staTus(){
    const { mobile, avatar, nickname, token } = 
    ['mobile', 'avatar', 'nickname', 'token'].reduce((acc, key) => {
      acc[key] = wx.getStorageSync(key);
      return acc;
    }, {});
    // 保存是否已登录
    this.setData({ exist: !!token });

    // 如果登录,但头像或者昵称不全,就到后端获取
    token && (!avatar || !nickname) && wx.request({
      url: `${baseURL}api/avatNickName/?mobile=${mobile}`,
      method: 'GET',
      header: { 'Authorization': 'Bearer ' + token.access }, // Bearer为JWT的标准授权头格式‌‌
      success: res => {
        if (res.statusCode === 200) {
          const { avatar, nickname } = res.data;
           // 写入本地缓存
          wx.setStorageSync('avatar', avatar ? baseURL.replace(/[\\/]+$/, '') + avatar : '/static/detail/钻石.png');
          wx.setStorageSync('nickname', nickname ? nickname : mobile);
          this.setData({
            avatar: avatar ? baseURL.replace(/[\\/]+$/, '') + avatar : '/static/detail/钻石.png',
            nickname: nickname ? nickname : mobile
          })
        }

      },
      fail: err => {
        console.error('请求失败:', err)
      }
    });
  },

  // 加载头像失败时替换为默认图
  handleImageError(e) {
    wx.setStorageSync('avatar', '')
    this.staTus()  // 重新后端去请求
  },
  
  // 查看订单
  viewOrder(event){
    const index = event.currentTarget.dataset.index;
    const query = event.currentTarget.dataset.query;
		if(this.data.exist){
      let obj = JSON.stringify({index,query})
			wx.navigateTo({
        url:`/pages/orders/All-orders/order?obj=${obj}`
			})
		}else{
			this.goLogin()   // 去登录
		}
  },
  
  // 点击登录
  goLogin(){
    wx.navigateTo({ url: '/pages/login_2/login_2' })
  },

  // 设置头像和昵称
  setAvatarName(){
    wx.navigateTo({ url: '/pages/my/setUser/setUser' })
  },
  // 收货地址
  getAddree(){
    wx.navigateTo({ url: '/pages/address/list/list' })
  },
  // 生命周期函数--监听页面初次渲染完成
  onReady() {},

  // 生命周期函数--监听页面隐藏
  onHide() {},

  // 生命周期函数--监听页面卸载
  onUnload() {},

  // 页面相关事件处理函数--监听用户下拉动作 
  onPullDownRefresh() {},

  // 页面上拉触底事件的处理函数
  onReachBottom() {},

  // 用户点击右上角分享
  onShareAppMessage() {}
})